<?php
include('../../include/functions.inc.php');
include('../../include/inputbuilder.inc.php');

if( !isEmpty(getParam('operation')) ) {
    switch (getParam('operation')) {
        case 's':
            save($db);
            break;
        case 'u':
            update($db);
            break;
        case 'd':
            delete($db);
            break;
    }
}

function save($db) {

    $db->query_insert('cllg_empresa', array(
        'ID' => sqlValue(getParam('ID'), 'int'),
        'CORPORACION' => sqlValue(getParam('CORPORACION'), 'text'),
        'NOMBRE' => sqlValue(getParam('NOMBRE'), 'text'),
        'DIRECCION' => sqlValue(getParam('DIRECCION'), 'text'),
        'WEB' => sqlValue(getParam('WEB'), 'text'),
        'PBX' => sqlValue(getParam('PBX'), 'text'),
        'OBSERVACION' => sqlValue(getParam('OBSERVACION'), 'text'),
        'STATUS' => sqlValue(getParam('STATUS'), 'int')));
    $intID = mysql_insert_id();
    
    $fields = unserialize($_SESSION['fields']); //campos dinamicos a guardar                    
    foreach ($fields as $fld) {
        $db->query_insert('cllg_table_valuebyfield', array('PK_RECORD' => $intID,
            'VALUE' => sqlValue(getParam($fld), 'text'),
            'FK_TABLEFIELD' => sqlValue($fld, 'text')));
    }

}

function update($db) {
    
    $db->query_update('cllg_empresa', array(
        'CORPORACION' => sqlValue(getParam('CORPORACION'), 'text'),
        'NOMBRE' => sqlValue(getParam('NOMBRE'), 'text'),
        'DIRECCION' => sqlValue(getParam('DIRECCION'), 'text'),
        'WEB' => sqlValue(getParam('WEB'), 'text'),
        'PBX' => sqlValue(getParam('PBX'), 'text'),
        'OBSERVACION' => sqlValue(getParam('OBSERVACION'), 'text'),
        'STATUS' => sqlValue(getParam('STATUS'), 'int')), 'ID=' . sqlValue(getParam('ID'), 'int'));
    
    $fields = unserialize($_SESSION['fields']); //campos dinamicos a guardar                    
    foreach ($fields as $fld) {
        $r = getFieldValue($db, "cllg_empresa", getParam('ID'), $fld);
        if (count($r) > 0) {
            $db->query_update('cllg_table_valuebyfield', array('VALUE' => sqlValue(getParam($fld), 'text')), 'FK_TABLEFIELD=' . sqlValue($fld, 'text') .
                ' AND PK_RECORD=' . sqlValue(getParam('ID'), 'int'));
        } else {
            $db->query_insert('cllg_table_valuebyfield', array('PK_RECORD' => sqlValue(getParam('ID'), 'int'),
                'VALUE' => sqlValue(getParam($fld), 'text'),
                'FK_TABLEFIELD' => sqlValue($fld, 'text')));
        }
    }

}

function delete($db) {
    
    $db->query_delete('cllg_empresa', 'ID=' . sqlValue(getParam('ID'), 'int'));
    
    $fields = unserialize($_SESSION['fields']); //campos dinamicos a borrar                    
    foreach ($fields as $fld) {
        $db->query_delete('cllg_table_valuebyfield', 'FK_TABLEFIELD=' . sqlValue($fld, 'text')
                . ' AND PK_RECORD=' . sqlValue(getParam('ID'), 'int'));
    }
    
}
?>